Week 2 Core Computer Skills For Programmers

All the materials needed to complete Week 2 are listed further down this page.

🔍 OVERVIEW

Week 2 will dive into technical aspects and practical exercises essential for starting to code.

You will find that the reading material this week is more technical than Week 1 and covers fewer pages, allowing you to study and understand the content more effectively.

PLEASE IGNORE IF VIDEOS HAVE THE WRONG THUMBNAIL OR SPLASH SCREEN. *THIS* site is correct, and the videos splash screens will be revised.

  • Environemnts and Tools - We explore programming environments to understand how they provide the necessary context and tools for code development and execution. Key components of programmer environments that we take a look at include the operating system, IDE's (Integrated development environments) programming languages, runtime environments, and development tools, such as packages.

  • Terminal and Shell Basics - Understanding the terminal and shells is essential for interacting with your computer at a command-line level. Learn about the terminal, which provides the command interface, and the shell, which executes commands.

  • File systems, files and hierachy - We explore files and directories to understand how data is organized and managed on a computer, which is crucial for efficient navigation and data handling. You will learn how directories structure files hierarchically and how to access them via the terminal. By mastering file systems, paths, permissions, and operations (read, write, execute, delete), you'll acquire essential skills that form the foundation for programming.

  • Version control and Git - We delve into version control and Git to understand how to manage and track changes to your code. Undertsnading these concepts and technology will enable you to keep a detailed history of your project and collaborate effectively. You’ll learn how to use Git via the command line. By mastering concepts such as repositories, commits, branches, and merging, you'll develop crucial skills for managing your codebase, handling changes, and will help in managing your projects efficiently.

❗TAKE TIME to understand the material❗
They are foundational for programming - this is information you need in order to learn how to code. The topics covered this week are the MOST IMPORTANT in the entire course. These concepts are NOT explained during the fall semester. As you start your courses, you'll be expected to gradually grasp these topics throughout the semester. Unfortunately, many beginners find these fundamentals challenging at first and may struggle with them if they don't have an underlying understanding of the concepts or practical experience with these technical elements. Students often struggle with these first steps and may fall behind, even before writing a single line of code.

📚 MATERIALS

📖 PDFs 📺 VIDEOS & SLIDES🖥️ TUTORIALS
Part 1Programming Environments - Components, Tools, & Platforms Programming Environments - Components, Tools, & PlatformsTutorial 1 - VSCode
 WATCH - npm date-and-time
Part 2Coder's toolkit - Terminal, Files Systems & Version Control Coder's toolkit - Terminal, Files Systems & Version ControlTutorial 2 - The Terminal
 Tutorial 3 - File systems
 Tutorial 4 - Git & GitHub + Tutorial 4 - Git & GitHub CHEAT SHEET

⬇️ DOWNLOADS & ACCOUNTS

WATCH THIS SETUP VIDEO for help with minor setup, downloads & account creation on Github. This will help you get started with all the prerequisites before the tutorials.

You will need to:

  • Download Git
  • Make an account on GitHub
  • Download Git bash
  • Download VS Code